#ifndef VBOX_INCLUDE_VBOX_MSI_H
#define VBOX_INCLUDE_VBOX_MSI_H
#ifndef RT_WITHOUT_PRAGMA_ONCE
#pragma once
#endif

#include <VBox/cdefs.h>
#include <VBox/types.h>
#include <VBox/assert.h>

#include <VBox/pci.h>

#define VBOX_MSI_DATA_VECTOR_SHIFT 0
#define VBOX_MSI_DATA_VECTOR_MASK 0x000000ff
// TODO: defines

typedef union MSIADDR
{
} MSIADDR;


#define VBOX_MSI_DATA_VALID_MASK UINT64_C(0x000000000000ffff)
typedef struct MSIMSG
{
    MSIADDR Addr;
    MSIDATA Data;
}MSIMSG;

#endif // header file protect